//! 高级特性模块
//!
//! 包含Rust中的高级编程概念，如：
//! - 闭包和迭代器
//! - 声明宏
//! - 生命周期
//!
//! ## 知识点总结
//!
//! | 模块 | 主要内容 | 关键概念 |
//! |------|---------|---------|
//! | closures | 闭包 | 匿名函数、捕获环境 |
//! | declarative_macros | 声明宏 | macro_rules!、代码生成 |
//! | lifetimes | 生命周期 | 生命周期注解、借用检查 |
//!
//! ## 使用示例
//!
//! ```rust
//! // 闭包示例
//! let add = |x, y| x + y;
//! let result = add(2, 3);
//! println!("2 + 3 = {result}");
//!
//! // 使用闭包与迭代器
//! let numbers = vec![1, 2, 3, 4, 5];
//! let doubled: Vec<i32> = numbers.iter().map(|x| x * 2).collect();
//! println!("翻倍后的数字: {doubled:?}");
//!
//! // 声明宏示例
//! macro_rules! say_hello {
//!     () => {
//!         println!("Hello!");
//!     };
//! }
//!
//! say_hello!();
//!
//! // 生命周期示例
//! fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
//!     if x.len() > y.len() {
//!         x
//!     } else {
//!         y
//!     }
//! }
//!
//! let string1 = String::from("abcd");
//! let string2 = "xyz";
//! let result = longest(string1.as_str(), string2);
//! println!("较长的字符串是: {result}");
//! ```

pub mod closures;
pub mod declarative_macros;
pub mod lifetimes;

